home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-11-17 | 12.6 KB | 376 lines |
- 1 COLOR 15,0,0
- 100 ' KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE
- 110 ' OPEN CRIBBAGE OPEN
- 120 ' SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD
- 130 '
- 140 DEFINT C-Z:GOSUB 3490:RANDOMIZE VAL(RIGHT$(TIME$,2)):GOSUB 3640
- 150 GOSUB 2590:GOSUB 2650:' --- LOW CARD DEALS FIRST ---
- 160 GOSUB 2590:GOSUB 2760:' --- SUFFLE DECK AND DEAL ---
- 170 GOSUB 1530:' --- FIND THE FOUR BEST CARDS AND DISCARD OTHERS -
- 180 ' --- DISCARD ---
- 190 I1=V(B9,5):I2=V(B9,6)
- 200 E=7:GOSUB 3280:GOSUB 3080:I3=RR:CL=RR*8+9:RW=7:GOSUB 3180
- 210 GOSUB 3100:I4=RR:IF I3=I4 THEN E=10:GOSUB 3280:GOTO 210
- 220 ' --- CRIB ---
- 230 RW=7:CL=RR*8+9:GOSUB 3180
- 240 FOR J=1 TO 4:C(1,J)=M(I1,J):C(2,J)=M(I2,J):C(3,J)=Y(I3,J):C(4,J)=Y(I4,J)
- 250 NEXT J
- 260 GOSUB 1910:' --- GENERATE THE UP CARD ---
- 270 ' --- PLAY OF THE HAND ---
- 280 GOSUB 590:LOCATE 5,1:IF M<>0 THEN 300
- 290 COLOR 10:PRINT "I SCORE FIRST":X1=2:GOTO 490
- 300 COLOR 10:PRINT "YOU SCORE FIRST":X1=1:GOTO 370
- 310 LOCATE 22,14:PRINT "CRIB:"
- 320 RW=20:FOR I=1 TO 4:CL=I*8+25:CC$=C$(C(I,1)):GOSUB 3010:NEXT I
- 330 FOR I=1 TO 4:FOR J=1 TO 4:W(I,J)=C(I,J):NEXT J:NEXT I:C=1
- 340 W(5,4)=T9:GOSUB 2020:IF X1=2 THEN X1=3:GOTO 400
- 350 LOCATE 22,20:PRINT USING "## PTS";P:S1=S1+P:IF S1>121 THEN 560
- 360 GOSUB 540:GOTO 160
- 370 K=1:FOR I=1 TO 6:IF I=I3 OR I=I4 THEN 390
- 380 FOR J=1 TO 4:W(K,J)=Y(I,J):NEXT J:K=K+1
- 390 NEXT I:W(5,4)=T9:C=0:GOSUB 2020:E=13:GOSUB 3280
- 400 COLOR 11:LOCATE 12,1:PRINT "POINTS ":PRINT " "
- 410 LOCATE 12,8
- 420 INPUT P9:D=P-P9:IF D>=0 THEN 440
- 430 COLOR 12:LOCATE 13,1:PRINT "TRY AGAIN";:GOTO 420
- 440 S2=S2+P9:IF S2>=121 THEN 570
- 450 IF D=0 THEN 480
- 460 COLOR 14:S1=S1+D:LOCATE 13,1:PRINT USING "MUGGINS ## ";D
- 470 IF S1>=121 THEN 560
- 480 ON X1 GOTO 490,310,530
- 490 FOR K=1 TO 4:L=V(B9,K):FOR J=1 TO 4:W(K,J)=M(L,J):NEXT J,K
- 500 COLOR 13:LOCATE 17,10:PRINT "MY CARDS:";
- 510 W(5,4)=T9:C=0:GOSUB 2020:S1=S1+P:IF S1>=121 THEN 560
- 520 COLOR 14:PRINT USING " ## PTS";P:ON X1 GOTO 310,370
- 530 GOSUB 540:GOTO 160
- 540 COLOR 11:LOCATE 1,42:PRINT USING "SCORE: YOU ### PTS";S2
- 550 LOCATE 2,50:PRINT USING "IBM ### PTS";S1:RETURN
- 560 E=14:GOSUB 3280:GOTO 3270
- 570 E=15:GOSUB 3280:GOTO 3270
- 580 '
- 590 ' --- PLAY OF THE HAND ---
- 600 '
- 610 E=8:GOSUB 3280:Y5=0:M5=0:C=0:S9=0:G=0
- 620 IF M=0 THEN 830
- 630 IF Y5<>4 THEN 660
- 640 IF M5=4 THEN 1090
- 650 GOTO 830
- 660 GOSUB 3240
- 670 IF C$="GO" THEN 830
- 680 FOR C6=1 TO 6:IF C$=D$(C6) THEN 710
- 690 NEXT C6
- 700 E=9:GOSUB 3280:GOTO 660
- 710 IF C6=I3 OR C6=I4 THEN E=1:GOSUB 3280:GOTO 660
- 720 IF Y5=0 THEN 750
- 730 FOR J=1 TO Y5:IF I(J+10)=C6 THEN E=6:GOSUB 3280:C$="GO"::GOTO 830
- 740 NEXT J
- 750 IF S9+Y(C6,2)>31 THEN E=3:GOSUB 3280:GOTO 660
- 760 S9=S9+Y(C6,2):Y5=Y5+1:I(10+Y5)=C6:C=C+1:J(C)=Y(C6,4)
- 770 GOSUB 1310:CC$=C$(Y(C6,1)):CL=RR*8+9
- 780 COLOR 14:LOCATE 3,1:PRINT USING "YOU PLAY A \ \ ## SUM ## PTS";CC$,S9,P
- 790 RW=7:GOSUB 3180:RW=10:GOSUB 3010
- 800 F=1:S2=S2+P:IF S2>=121 THEN 570
- 810 IF S9<>31 THEN 830
- 820 F=0:C=0:S9=0:G=0:GOTO 830
- 830 E=13:GOSUB 3280:PRINT:IF M5<>4 THEN 900
- 840 IF Y5=4 THEN 1090
- 850 IF C$<>"GO" THEN 630
- 860 IF F=2 THEN 880
- 870 E=4:GOSUB 3280:S2=S2+1:IF S2>=121 THEN 570 ELSE 890
- 880 E=5:GOSUB 3280:S1=S1+1:IF S1>=121 THEN 560
- 890 F=0:C=0:S9=0:GOTO 630
- 900 K9=0:P9=0:C9=C:C=C+1:H9=S9:I9=0
- 910 I9=I9+1:IF I9>6 THEN 990
- 920 I(I9)=0:IF I9=I1 OR I9=I2 THEN 910
- 930 IF M5=0 THEN 960
- 940 FOR J9=1 TO M5:IF I9=I(20+J9) THEN 910
- 950 NEXT J9
- 960 IF H9+M(I9,2)>31 THEN 910
- 970 K9=K9+1:S9=H9+M(I9,2):J(C)=M(I9,4):GOSUB 1310:IF P9<P THEN P9=P
- 980 I(I9)=P:I(K9+30)=I9:GOTO 910
- 990 C=C9:S9=H9:IF K9<>0 THEN 1130
- 1000 IF C$<>"GO" THEN 1040
- 1010 IF G=1 THEN 1050
- 1020 E=5:GOSUB 3280
- 1030 C=0:S9=0:S1=S1+1:IF S1>=121 THEN 560 ELSE 630
- 1040 IF Y5<>4 THEN 1070
- 1050 E=4:GOSUB 3280:S2=S2+1:IF S2>=121 THEN 570
- 1060 C=0:S9=0:G=0:C$="":GOTO 830
- 1070 IF G=1 THEN 630
- 1080 E=6:GOSUB 3280:G=1:GOTO 630
- 1090 IF F=0 THEN RETURN
- 1100 IF F=1 THEN 1120
- 1110 E=5:GOSUB 3280:S1=S1+1:IF S1>=121 THEN 560 ELSE RETURN
- 1120 E=4:GOSUB 3280:S2=S2+1:IF S2>=121 THEN 560 ELSE RETURN
- 1130 C=C+1:M5=M5+1:IF C<>1 THEN 1220
- 1140 FOR J9=1 TO 4:I9=V(B9,J9)
- 1150 ' --- DON'T PLAY A FIVE FIRST ---
- 1160 IF M(I9,2)=5 THEN 1200
- 1170 FOR II=1 TO M5-1:IF I9=I(II+20) THEN 1200
- 1180 NEXT II
- 1190 I(M5+20)=I9:J(C)=M(I9,4):P9=0:S9=M(I9,2):GOTO 1250
- 1200 NEXT J9
- 1210 L=V(B9,1):GOTO 1190
- 1220 FOR J9=1 TO K9:I9=I(J9+30):IF I(I9)=P9 THEN 1240
- 1230 NEXT J9
- 1240 I(M5+20)=I9:J(C)=M(I9,4):S9=S9+M(I9,2)
- 1250 CC$=C$(M(I9,1)):RW=15:CL=M5*8+25:GOSUB 3010
- 1260 LOCATE 3,1:PRINT USING " I PLAY A \ \ ## SUM ## PTS";CC$,S9,P9
- 1270 F=2:S1=S1+P9:IF S1>=121 THEN 560
- 1280 IF S9<>31 THEN 1300
- 1290 F=0:C=0:S9=0:GOTO 630
- 1300 IF C$="GO" THEN 830 ELSE 630
- 1310 ' --- CHECK 15 & 31 ---
- 1320 P=0:IF C=1 THEN RETURN
- 1330 IF S9=15 OR S9=31 THEN P=P+2
- 1340 Z=C-2:IF Z<2 THEN Z=2
- 1350 FOR I=C TO Z STEP -1
- 1360 IF J(I)<>J(I-1) THEN 1420
- 1370 ON C-I+1 GOTO 1380,1390,1400
- 1380 P=P+2:GOTO 1410
- 1390 P=P+4:GOTO 1410
- 1400 P=P+6
- 1410 NEXT I
- 1420 ' --- RUNS ---
- 1430 IF C=2 THEN RETURN
- 1440 R9=0:FOR I=3 TO C:GOSUB 1460:NEXT I:P=P+R9:RETURN
- 1450 ' --- RUNS CHECK ROUTINE ---
- 1460 FOR J=1 TO C:J(J+10)=J(C-J+1):NEXT J:K=0
- 1470 K=K+1:IF K>I THEN 1510
- 1480 FOR L=K+1 TO I:IF J(K+10)<J(L+10) THEN 1500
- 1490 X=J(K+10):J(K+10)=J(L+10):J(L+10)=X
- 1500 NEXT L:GOTO 1470
- 1510 FOR K=1 TO I-1:IF J(K+10)<>J(K+11)-1 THEN RETURN
- 1520 NEXT K:R9=I:RETURN
- 1530 ' --- FIND THE BEST FOUR CARD HAND ---
- 1540 P9=0:FOR Z9=1 TO 15:I1=V(Z9,1):I2=V(Z9,2):I3=V(Z9,3):I4=V(Z9,4)
- 1550 FOR J=1 TO 4:W(1,J)=M(I1,J):W(2,J)=M(I2,J):W(3,J)=M(I3,J):W(4,J)=M(I4,J)
- 1560 W(5,J)=25:NEXT J
- 1570 ' --- EVALUATE THE HAND ---
- 1580 C=0:GOSUB 2020:V(Z9,7)=P:IF P9<P THEN P9=P
- 1590 NEXT Z9
- 1600 ' --- FIND ALL HANDS WITH MAX SCORE P9 ---
- 1610 J=0:FOR I=1 TO 15:IF V(I,7)<>P9 THEN 1630
- 1620 J=J+1:I(J)=I
- 1630 NEXT I:IF J>I THEN 1660
- 1640 ' --- THIS IS THE SINGLE BEST HAND ---
- 1650 B9=I(1):RETURN
- 1660 ' --- NO SINGLE BEST HAND - FIND KEYS CARDS ---
- 1670 ' --- CHECK FOR FIVES ---
- 1680 C9=5:Z=1:GOTO 1790
- 1690 ' --- CHECK FOR EIGHTS ---
- 1700 C9=8:Z=2:GOTO 1790
- 1710 ' --- CHECK FOR SEVENS ---
- 1720 C9=7:Z=3:GOTO 1790
- 1730 ' --- CHECK FOR JACKS ---
- 1740 C9=11:Z=4:GOTO 1790
- 1750 ' --- CHECK FOR ACES ---
- 1760 C9=1:Z=5:GOTO 1790
- 1770 ' --- RANDOMLY CHOOSES BEST HAND ---
- 1780 B9=INT(J*RND(1))+1:B9=I(B9):RETURN
- 1790 ' --- BEST HAND HAS MOST OF CARDS "C9" ---
- 1800 P9=0:FOR I=1 TO 15:J(I)=0:NEXT I
- 1810 FOR I= 1 TO J:FOR K=1 TO 4:L=V(I(I),K):IF M(L,4)<>C9 THEN 1830
- 1820 J(I)=J(I)+1
- 1830 NEXT K
- 1840 IF P9<J(I) THEN P9=J(I)
- 1850 NEXT I
- 1860 K=0:FOR I=1 TO J:IF J(I)<>P9 THEN 1880
- 1870 K=K+1:B9=I(I)
- 1880 NEXT I
- 1890 IF K<>1 THEN 1900 ELSE RETURN
- 1900 ON Z GOTO 1690,1710,1730,1750,1770
- 1910 ' --- GENERATES THE UP CARD ---
- 1920 U=INT(38*RND)+14:RW=20:CL=1:CC$=C$(D(U,1)):GOSUB 3010
- 1930 LOCATE 19,3:PRINT "UP"
- 1940 FOR I=1 TO 4:W(5,I)=D(U,I):NEXT I:T9=W(5,4)
- 1950 IF W(5,4)<>11 THEN RETURN
- 1960 IF M=0 THEN S2=S2+2:GOTO 1980
- 1970 S1=S1+2
- 1980 LOCATE 4,1:PRINT "2 PTS FOR JACK"
- 1990 IF S1>=121 THEN 560
- 2000 IF S2>=121 THEN 570
- 2010 RETURN
- 2020 ' --- SCORE THE FIVE CARD HAND ---
- 2030 REM
- 2040 REM - CHECK FOR JACK OF SAME SUIT AS UP CARD
- 2050 P=0:IF C=1 THEN 2100
- 2060 FOR I=1 TO 4:IF W(I,4)<>11 THEN 2090
- 2070 IF W(I,3)<>W(5,3) THEN 2090
- 2080 P=P+1:GOTO 2100
- 2090 NEXT I
- 2100 ' --- CHECK FOR A 4 OR 5 CARD FLUSH ---
- 2110 FOR I=1 TO 3:IF W(I,3)<>W(I+1,3) THEN 2190
- 2120 NEXT I
- 2130 ' --- CRIB SCORES ONLY FOR A 5 CARD FLUSH ---
- 2140 IF C<>0 THEN 2170
- 2150 P=P+4:IF W(4,3)<>W(5,3) THEN 2190
- 2160 P=P+1:GOTO 2190
- 2170 IF W(4,3)<>W(5,3) THEN 2190
- 2180 P=P+5
- 2190 ' --- CHECK 2 CARD SUM OF 15 ---
- 2200 FOR I=1 TO 4:FOR J=I+1 TO 5:IF W(I,2)+W(J,2)=15 THEN P=P+2
- 2210 NEXT J,I
- 2220 ' --- CHECK 3 CARD SUM OF 15 ---
- 2230 FOR I=1 TO 3:FOR J=I+1 TO 4:FOR K=J+1 TO 5
- 2240 IF W(I,2)+W(J,2)+W(K,2)=15 THEN P=P+2
- 2250 NEXT K,J,I
- 2260 ' --- CHECK FOR 4 CARD SUM OF 15 --
- 2270 FOR I=1 TO 2:FOR J=I+1 TO 3:FOR K=J+1 TO 4:FOR L=K+1 TO 5
- 2280 IF W(I,2)+W(J,2)+W(K,2)+W(L,2)=15 THEN P=P+2
- 2290 NEXT L,K,J,I
- 2300 ' --- CHECK 5 CARD SUM OF 15 ---
- 2310 J=0:FOR I=1 TO 5:J=J+W(I,2):NEXT I:IF J=15 THEN P=P+2
- 2320 ' --- CHECK FOR PAIRS 2, 3 AND 4 OF A KIND ---
- 2330 FOR I=1 TO 13:J(I)=0:NEXT I
- 2340 FOR I=1 TO 5:J=W(I,4):J(J)=J(J)+1:NEXT I
- 2350 FOR I=1 TO 13:ON J(I)+1 GOTO 2390,2390,2380,2370,2360
- 2360 P=P+6
- 2370 P=P+4
- 2380 P=P+2
- 2390 NEXT I
- 2400 ' --- SORT HAND TO ASCENDING SEQ ---
- 2410 FOR I=1 TO 4:FOR J=I+1 TO 5:IF W(I,4)<W(J,4) THEN 2430
- 2420 SWAP W(I,4),W(J,4)
- 2430 NEXT J,I
- 2440 ' --- CHECK FOR 5 CARD RUN ---
- 2450 D=W(1,4)-Q(1,1):FOR I=1 TO 11:FOR J=1 TO 5:Q(I,J)=Q(I,J)+D:NEXT J,I
- 2460 FOR I=1 TO 11:FOR J=1 TO 5:IF W(J,4)<>Q(I,J) THEN 2480
- 2470 NEXT J:P=P+Q(I,6):RETURN
- 2480 NEXT I
- 2490 ' --- CHECK FOR A 4 CARD RUN ---
- 2500 FOR L=1 TO 2:D=W(L,4)-R(1,1):FOR I=1 TO 4:FOR J=1 TO 4:R(I,J)=R(I,J)+D
- 2510 NEXT J,I:FOR I=1 TO 4:FOR K=1 TO 4:IF W(K+L-1,4)<>R(I,K) THEN 2530
- 2520 NEXT K:P=P+R(I,5):RETURN
- 2530 NEXT I,L
- 2540 ' --- CHECK FOR 3 CARD RUN ---
- 2550 FOR L=1 TO 3:D=W(L,4)-S(1):FOR I=1 TO 3:S(I)=S(I)+D:NEXT I
- 2560 FOR I=1 TO 3:IF W(L+I-1,4)<>S(I) THEN 2580
- 2570 NEXT I:P=P+S(4):RETURN
- 2580 NEXT L:RETURN
- 2590 ' --- SHUFFLE THE DECK ---
- 2600 FOR I=1 TO 52:I(I)=0:NEXT I:FOR I=1 TO 52
- 2610 J=INT(52*RND)+1:IF I(J)<>0 THEN 2610
- 2620 D(I,1)=J:D(I,3)=(J-1)\13+1:D(I,4)=J-D(I,3)*13+13
- 2630 Z=D(I,4):IF Z>10 THEN Z=10
- 2640 D(I,2)=Z:I(J)=1:NEXT I:RETURN
- 2650 ' --- CUT FOR DEAL ---
- 2660 COLOR 14:LOCATE 23,28:PRINT "PLEASE CUT FOR DEAL";:INPUT I
- 2670 IF I<1 OR I>52 THEN E=12:GOSUB 3280:GOTO 2660
- 2680 COLOR 11:I1=D(I,1):LOCATE 6,1:PRINT "YOUR CARD"
- 2690 CC$=C$(I1):RW=7:CL=2:GOSUB 3010
- 2700 J=INT(52*RND)+1:IF J=I THEN 2700
- 2710 COLOR 11:J1=D(J,1):LOCATE 13,2:PRINT "MY CARD"
- 2720 CC$=C$(J1):RW=14:CL=2:GOSUB 3010
- 2730 IF D(I,4)<D(J,4) THEN M=1:RETURN
- 2740 IF D(J,4)<D(I,4) THEN M=0:RETURN
- 2750 COLOR 12:PRINT:PRINT"CUT AGAIN":GOTO 2660
- 2760 ' --- THE DEAL ---
- 2770 E=11:GOSUB 3280:GOSUB 540
- 2780 A$=INKEY$:IF A$="" THEN 2780
- 2790 IF ASC(A$)=27 THEN CHAIN "MENU"
- 2800 CLS:GOSUB 540:E=18:GOSUB 3280:LOCATE 5,42:IF M=0 THEN 2820
- 2810 COLOR 14:PRINT "YOUR DEAL AND YOUR CRIB":GOTO 2830
- 2820 COLOR 14:PRINT "MY DEAL AND MY CRIB "
- 2830 COLOR 13:M=1-M:Y=1-M:LOCATE 9,1:PRINT "YOUR CARDS:"
- 2840 FOR I=1 TO 6:K=2*I-Y:L=2*I-M
- 2850 FOR J=1 TO 4:M(I,J)=D(K,J):Y(I,J)=D(L,J):NEXT J
- 2860 RW=7:CL=I*8+9:CC$=C$(Y(I,1)):GOSUB 3010:NEXT I:RETURN
- 2870 '
- 2880 DATA 1,2,3,4,5,6,0,1,2,3,5,4,6,0,1,2,3,6,4,5,0
- 2890 DATA 1,2,4,5,3,6,0,1,2,4,6,3,5,0,1,2,5,6,3,4,0
- 2900 DATA 1,3,4,5,2,6,0,1,3,4,6,2,5,0,1,3,5,6,2,4,0
- 2910 DATA 1,4,5,6,2,3,0,2,3,4,5,1,6,0,2,3,4,6,1,5,0
- 2920 DATA 2,3,5,6,1,4,0,2,4,5,6,1,3,0,3,4,5,6,1,2,0
- 2930 DATA 1,1,1,2,3,09,1,1,2,2,3,12,1,1,2,3,3,12
- 2940 DATA 1,1,2,3,4,08,1,2,2,2,3,09,1,2,2,3,3,12
- 2950 DATA 1,2,2,3,4,08,1,2,3,3,3,09,1,2,3,3,4,08
- 2960 DATA 1,2,3,4,4,08,1,2,3,4,5,05
- 2970 DATA 1,1,2,3,6,1,2,2,3,6,1,2,3,3,6,1,2,3,4,4
- 2980 DATA 1,2,3,3
- 2990 DATA 1,2,3,4,5,6
- 3000 DATA A,2,3,4,5,6,7,8,9,10,J,Q,K
- 3010 ' --- DRAW CARD AT LOCATION RW, CL ---
- 3020 C$=RIGHT$(CC$,1)+CC$:IF LEN(CC$)=2 THEN C$=" "+C$
- 3030 COLOR 0,7:LOCATE RW,CL:PRINT "VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR"
- 3040 LOCATE ,CL:PRINT "CALL";LEFT$(CC$,LEN(CC$)-1);
- 3043 IF RIGHT$(CC$,1)=CHR$(3) OR RIGHT$(CC$,1)=CHR$(4) THEN COLOR 12,7
- 3045 PRINT RIGHT$(CC$,1);:COLOR 0,7:PRINT SPACE$(5-LEN(CC$));"CALL"
- 3050 LOCATE ,CL:PRINT "CALL CALL"
- 3060 LOCATE ,CL:PRINT "CALL";
- 3062 IF LEFT$(C$,1)=" " THEN PRINT SPACE$(3); ELSE PRINT SPACE$(2);
- 3063 IF RIGHT$(C$,1)=CHR$(3) OR RIGHT$(C$,1)=CHR$(4) THEN COLOR 12,7
- 3065 PRINT RIGHT$(C$,1);:COLOR 0,7
- 3066 IF LEFT$(C$,1)=" " THEN ZZ=3 ELSE ZZ=2
- 3067 PRINT MID$(C$,ZZ,LEN(C$)-ZZ);"CALL"
- 3070 LOCATE ,CL:PRINT "CLSSOUNDSOUNDSOUNDSOUNDSOUND'";:LOCATE 1:COLOR 14,0,0:RETURN
- 3080 ' --- MOVE CURSOR ---
- 3090 BEEP:RR=1
- 3100 C$=INKEY$:IF LEN(C$)=2 THEN E=16:GOSUB 3280
- 3105 ZZ=SCREEN (9,RR*8+11,1)
- 3106 IF ZZ=112 THEN LOCATE 9,RR*8+12:COLOR 0,7:PRINT " ";:COLOR 15,0
- 3110 IF C$<>"" THEN IF ASC(C$)=27 THEN CHAIN "MENU"
- 3120 IF C$="6" AND RR<6 THEN RR=RR+1:GOTO 3160
- 3130 IF C$="4" AND RR>1 THEN RR=RR-1:GOTO 3160
- 3140 IF C$="5" THEN RETURN
- 3150 IF LEN(C$)=1 AND C$<>"6" AND C$<>"4" THEN E=17:GOSUB 3280
- 3160 LOCATE 9,RR*8+12
- 3170 COLOR 15:PRINT "<UNK! {FE22}>:FOR J=1 TO 10:NEXT J:LOCATE 9,RR*8+12:COLOR 7:PRINT " ":GOTO 3100
- 3180 ' --- REMOVE DISCARDS ---
- 3190 LOCATE RW,CL:PRINT " "
- 3200 LOCATE ,CL:PRINT " "
- 3210 LOCATE ,CL:PRINT " "
- 3220 LOCATE ,CL:PRINT " "
- 3230 LOCATE ,CL:PRINT " ":RETURN
- 3240 ' --- PLAY HAND ---
- 3250 GOSUB 3100:IF RR=I4 OR RR=I3 THEN E=6:GOSUB 3280:C$="GO":RETURN
- 3260 C$=MID$(STR$(RR),2):RETURN
- 3270 A$=INKEY$:IF A$="" THEN 3270 ELSE CHAIN"MENU"
- 3280 LOCATE 1:PRINT:IF E=13 THEN FOR I=1 TO 1200:NEXT I
- 3290 COLOR 10:LOCATE 25:PRINT SPACE$(79);:LOCATE 25,20
- 3300 ON E GOTO 3310,3320,3330,3340,3350,3360,3370,3380,3390,3400,3410,3420,3480,3430,3440,3450,3460,3470
- 3310 PRINT " YOU DISCARDED THAT CARD ";:GOTO 3480
- 3320 PRINT " ALREADY PLAYED ";:GOTO 3480
- 3330 PRINT " THAT TOTALS MORE THAN 31 ";:GOTO 3480
- 3340 PRINT " YOU GET ONE POINT FOR LAST CARD ";:GOTO 3480
- 3350 PRINT " I GET ONE POINT FOR LAST CARD ";:GOTO 3480
- 3360 PRINT " - GO - ";:GOTO 3480
- 3370 PRINT " YOUR DISCARDS ";:GOTO 3480
- 3380 PRINT " PLAY THE HAND TO THE BOARD ";:GOTO 3480
- 3390 PRINT " INVALID PLAY ";:GOTO 3480
- 3400 PRINT " REALLY NOW ";:GOTO 3480
- 3410 PRINT " PRESS ANY KEY FOR THE NEXT DEAL ";:GOTO 3480
- 3420 PRINT " ENTER A NUMBER FROM 1 TO 52 ";:GOTO 3480
- 3430 PRINT USING " I WIN ### TO ###";S1,S2;:GOTO 3480
- 3440 PRINT USING " YOU WIN ### TO ###";S2,S1;:GOTO 3480
- 3450 PRINT " PLEASE PRESS THE NUM LOCK KEY ";:GOTO 3480
- 3460 PRINT "NUMERIC PAD: 4=LEFT 5=SELECT 6=RIGHT";:GOTO 3480
- 3470 PRINT "EXAMINE YOUR HAND, WHILE I LOOK AT MINE.";
- 3480 LOCATE 1:PRINT:COLOR 7:RETURN
- 3490 KEY OFF:WIDTH 80:SCREEN 0,0,1,1:CLS:SCREEN 0,0,0,1:CLS:LOCATE 6,1,0:COLOR 15
- 3500 PRINT " KEYTHEN<0xCB!>THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN<0xCB!>THENCLOSE"
- 3510 PRINT " TOTHENTAB(THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTAB(THENRANDOMIZE"
- 3520 PRINT " OPEN OPEN OPEN OPEN"
- 3530 PRINT " OPEN OPEN ";:COLOR 11:PRINT " CRIBBAGE ";:COLOR 15:PRINT " OPEN OPEN"
- 3540 PRINT " OPEN OPEN OPEN OPEN"
- 3550 PRINT " OPEN OPEN COPYRIGHT (C) 1982 BY ENSIGN SOFTWARE OPEN OPEN"
- 3560 PRINT " OPEN OPEN OPEN OPEN"
- 3570 PRINT " OPEN OPEN";:COLOR 12:PRINT " 2312 N. COLE RD, SUITE E ";:COLOR 15:PRINT " OPEN OPEN"
- 3580 PRINT " OPEN OPEN";:COLOR 12:PRINT " BOISE, ID 83704 U.S.A. ";:COLOR 15:PRINT " OPEN OPEN"
- 3590 PRINT " OPEN OPEN";:COLOR 11:PRINT " DAY (208) 378-8086 EVE (208) 377-1938";:COLOR 15:PRINT " OPEN OPEN"
- 3600 PRINT " OPEN OPEN OPEN OPEN"
- 3610 PRINT " TOTHENTAB(THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTAB(THENRANDOMIZE"
- 3620 PRINT " SCREENTHENLOCATETHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOCATETHENLOAD"
- 3625 DEF SEG=0:POKE &H417,PEEK(&H417) OR &H60
- 3630 SCREEN 0,0,0,0:RETURN
- 3640 DIM D(54,4),C$(52),I(52),W(5,4),M(6,4),Y(6,4),C(4,4)
- 3650 DIM D$(6),V(15,7),Q(11,6),R(4,5),S(4),J(52)
- 3660 FOR I=1 TO 15:FOR C=1 TO 7:READ V(I,C):NEXT C,I
- 3670 FOR I=1 TO 11:FOR C=1 TO 6:READ Q(I,C):NEXT C,I
- 3680 FOR I=1 TO 4:FOR C=1 TO 5:READ R(I,C):NEXT C,I
- 3690 FOR I=1 TO 4:READ S(I):NEXT I
- 3700 FOR I=1 TO 6:READ D$(I):NEXT I
- 3710 FOR I=1 TO 13:READ C$:C$(I)=C$+CHR$(6)
- 3720 C$(I+13)=C$+CHR$(4):C$(I+26)=C$+CHR$(3):C$(I+39)=C$+CHR$(5):NEXT I
- 3730 S1=0:S2=0:RETURN
-